package org.xmppbot.spi;

import java.util.Random;

import org.xmppbot.StreamID;

/**
 * Фабрика-синглетон для генерации streamID
 * @author stas
 * @see org.jivesoftware.openfire.spi.BasicStreamIDFactory
 */
public class StreamIDFactory {
	private static StreamIDFactory _instance = null;
	
	private Random _random = new Random();
	
	private StreamIDFactory() throws Exception{
		if (_instance != null)
			throw new Exception("Singleton-классы могуть быть инстанциированны только через метод getInstance().");
	}
	
	public static StreamIDFactory getInstance() throws Exception{
		if (_instance == null)
			_instance = new StreamIDFactory();
		return _instance;
	}
	
	public StreamID createStreamID(){
		return new BasicStreamID(Integer.toHexString(_random.nextInt()));
	}
}
